home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / util / wb / DockNet20_src.lha / DOCKNETPrefs.E < prev   
Text File  |  1998-10-14  |  9KB  |  306 lines

  1. /* Start of DockNet */
  2. OPT PREPROCESS
  3. #define STR [256]:STRING
  4. MODULE 'utility/tagitem','dos/dos'
  5. MODULE 'libraries/gadtools'
  6. MODULE'muimaster','libraries/mui','libraries/muip','mui/muicustomclass','amigalib/boopsi','intuition/classes','intuition/classusr','intuition/screens','intuition/intuition'
  7. MODULE'tools/boopsi'
  8. MODULE'utility/hooks'
  9. ENUM NULL, ID_SAVEPREFS, ID_USEPREFS
  10. DEF app,sigs,wi_label_0,running,result,file,btsave,btuse,btcancel,pop1,pop2,pop3,pop4,pop5,pop6,pop7,pop8,pop9,str1,str2,str3,str4,str5,str6,str7,str8,str9,pg1 STR,pg1p STR,pg2 STR,pg2p STR,pg3 STR,pg3p STR,pg4 STR,pg4p STR,pg5 STR,pg5p STR,pg6 STR,pg6p STR,pg7 STR,pg7p STR,pg8 STR,pg8p STR,pg9 STR,pg9p STR
  11. PROC main() HANDLE
  12.  
  13.  
  14.  
  15.  
  16. /*
  17. DEFINIR VARs DA GUI COM DEF ... E TB OUTRAS VARs
  18.  
  19.  
  20. */
  21.  
  22.  
  23.  
  24. file := Open('env:Docknet/DockNet.prefs', OLDFILE)
  25. ReadStr(file,pg1)
  26. ReadStr(file,pg1p)
  27. ReadStr(file,pg2)
  28. ReadStr(file,pg2p)
  29. ReadStr(file,pg3)
  30. ReadStr(file,pg3p)
  31. ReadStr(file,pg4)
  32. ReadStr(file,pg4p)
  33. ReadStr(file,pg5)
  34. ReadStr(file,pg5p)
  35. ReadStr(file,pg6)
  36. ReadStr(file,pg6p)
  37. ReadStr(file,pg7)
  38. ReadStr(file,pg7p)
  39. ReadStr(file,pg8)
  40. ReadStr(file,pg8p)
  41. ReadStr(file,pg9)
  42. ReadStr(file,pg9p)
  43. Close(file)
  44.   IF (muimasterbase:=OpenLibrary(MUIMASTER_NAME,MUIMASTER_VMIN))=NIL THEN
  45.     Raise('Failed to open muimaster.library')
  46.  
  47.          app := ApplicationObject,
  48.                 MUIA_Application_Author, 'Luis Domingos',
  49.                 MUIA_Application_Base, 'DockNetPrefs',
  50.                 MUIA_Application_Version, '$VER: DockNetPrefs 01.70 (26.07.98)',
  51.                 MUIA_Application_Copyright, 'c1998 Luis Domingos',
  52.                 MUIA_Application_Description, 'DockNet Prefs',
  53.                 SubWindow, wi_label_0:=WindowObject,
  54.                 MUIA_Window_Title, 'DockNet',
  55.                 MUIA_Window_ID, "0WIN",
  56.                 MUIA_Window_SizeGadget, 1,
  57.                 WindowContents, VGroup,
  58.                    Child,HGroup,
  59.                     Child, VGroup,
  60.                     MUIA_FrameTitle, 'Names for the Buttons',
  61.                    Child, str1 := StringObject,
  62.                     StringFrame,
  63.                     MUIA_String_Contents, pg1, End,
  64.                    Child, str2 := StringObject,
  65.                     StringFrame,
  66.                     MUIA_String_Contents, pg2, End,
  67.                    Child, str3 := StringObject,
  68.                     StringFrame,
  69.                     MUIA_String_Contents, pg3, End,
  70.                    Child, str4 := StringObject,
  71.                     StringFrame,
  72.                     MUIA_String_Contents, pg4, End,
  73.                    Child, str5 := StringObject,
  74.                     StringFrame,
  75.                     MUIA_String_Contents, pg5, End,
  76.                    Child, str6 := StringObject,
  77.                     StringFrame,
  78.                     MUIA_String_Contents, pg6, End,
  79.                    Child, str7 := StringObject,
  80.                     StringFrame,
  81.                     MUIA_String_Contents, pg7, End,
  82.                    Child, str8 := StringObject,
  83.                     StringFrame,
  84.                     MUIA_String_Contents, pg8, End,
  85.                    Child, str9 := StringObject,
  86.                     StringFrame,
  87.                     MUIA_String_Contents, pg9, End,
  88.                     End,
  89.                     Child, VGroup,
  90.                     MUIA_FrameTitle, 'Cli command to RUN the App',
  91.                     Child , pop1 := PopaslObject ,
  92.         MUIA_Popasl_Type , 0 ,
  93.         MUIA_Popstring_String , StringMUI( pg1p, 80 ),
  94.         MUIA_Popstring_Button , PopButton( MUII_PopFile ),
  95.         End,
  96. Child , pop2 := PopaslObject ,
  97.         MUIA_Popasl_Type , 0 ,
  98.         MUIA_Popstring_String , StringMUI( pg2p , 80 ),
  99.         MUIA_Popstring_Button , PopButton( MUII_PopFile ),
  100.     End,Child , pop3 := PopaslObject ,
  101.         MUIA_Popasl_Type , 0 ,
  102.         MUIA_Popstring_String , StringMUI( pg3p , 80 ),
  103.         MUIA_Popstring_Button , PopButton( MUII_PopFile ),
  104.     End,Child , pop4 := PopaslObject ,
  105.         MUIA_Popasl_Type , 0 ,
  106.         MUIA_Popstring_String , StringMUI( pg4p , 80 ),
  107.         MUIA_Popstring_Button , PopButton( MUII_PopFile ),
  108.     End,Child , pop5 := PopaslObject ,
  109.         MUIA_Popasl_Type , 0 ,
  110.         MUIA_Popstring_String , StringMUI( pg5p , 80 ),
  111.         MUIA_Popstring_Button , PopButton( MUII_PopFile ),
  112.     End,Child , pop6 := PopaslObject ,
  113.         MUIA_Popasl_Type , 0 ,
  114.         MUIA_Popstring_String , StringMUI( pg6p , 80 ),
  115.         MUIA_Popstring_Button , PopButton( MUII_PopFile ),
  116.     End,Child , pop7 := PopaslObject ,
  117.         MUIA_Popasl_Type , 0 ,
  118.         MUIA_Popstring_String , StringMUI( pg7p , 80 ),
  119.         MUIA_Popstring_Button , PopButton( MUII_PopFile ),
  120.     End,Child , pop8 := PopaslObject ,
  121.         MUIA_Popasl_Type , 0 ,
  122.         MUIA_Popstring_String , StringMUI( pg8p , 80 ),
  123.         MUIA_Popstring_Button , PopButton( MUII_PopFile ),
  124.     End,Child , pop9 := PopaslObject ,
  125.         MUIA_Popasl_Type , 0 ,
  126.         MUIA_Popstring_String , StringMUI( pg9p , 80 ),
  127.         MUIA_Popstring_Button , PopButton( MUII_PopFile ),
  128.     End,
  129.                 End,
  130.                 End,
  131.             Child, HGroup,
  132.             Child, btsave:= SimpleButton('Save'),
  133.             Child, btuse:= SimpleButton('Use'),
  134.             Child, btcancel:= SimpleButton('Cancel'),
  135.             End,
  136.             End,
  137.           End,
  138.          End
  139.   IF (app=NIL) THEN
  140.       Raise('Failed to create Application.')
  141.  
  142. /*
  143. ** Install notification events...
  144. */
  145. doMethod(wi_label_0, [MUIM_Notify, MUIA_Window_CloseRequest, MUI_TRUE, app,2,MUIM_Application_ReturnID,MUIV_Application_ReturnID_Quit,MUI_TRUE])
  146. doMethod(btcancel, [MUIM_Notify, MUIA_Pressed, MUI_TRUE, app,2,MUIM_Application_ReturnID,MUIV_Application_ReturnID_Quit,MUI_TRUE])
  147. doMethod(btsave, [MUIM_Notify, MUIA_Pressed, MUI_TRUE,app, 2,MUIM_Application_ReturnID,ID_SAVEPREFS,MUI_TRUE])
  148. doMethod(btuse, [MUIM_Notify, MUIA_Pressed, MUI_TRUE,app, 2,MUIM_Application_ReturnID,ID_USEPREFS,MUI_TRUE])
  149. /*
  150. ** This is the ideal input loop for an object oriented MUI application.
  151. ** Everything is encapsulated in classes, no return ids need to be used,
  152. ** we just check if the program shall terminate.
  153. ** Note that MUIM_Application_NewInput expects sigs to contain the result
  154. ** from Wait() (or 0). This makes the input loop significantly faster.
  155. */
  156.  
  157.   set(wi_label_0,MUIA_Window_Open,MUI_TRUE)
  158.  
  159.    running := TRUE  /* Not for MUI -> no need to use MUI_TRUE */
  160.  
  161.    WHILE running
  162.  
  163.       result := doMethod(app, [MUIM_Application_Input, {sigs} ])
  164.  
  165.       SELECT result
  166.  
  167.          CASE MUIV_Application_ReturnID_Quit
  168.             running := FALSE
  169.  
  170.         CASE ID_SAVEPREFS
  171.        savednprefs()
  172.  
  173.         CASE ID_USEPREFS
  174.         usednprefs()
  175.  
  176.         ENDSELECT
  177.     IF sigs THEN sigs:=Wait(sigs)
  178.   ENDWHILE
  179.  
  180.  
  181.  
  182.   set(wi_label_0,MUIA_Window_Open,FALSE)
  183.  
  184. /*
  185. ** Shut down...
  186. */
  187.  
  188. EXCEPT DO
  189.   IF app THEN Mui_DisposeObject(app)
  190.   IF muimasterbase THEN CloseLibrary(muimasterbase)
  191.   IF exception THEN WriteF('\s\n',exception)
  192. ENDPROC
  193.  
  194. PROC doMethod( obj:PTR TO object, msg:PTR TO msg )
  195.  
  196.     DEF h:PTR TO hook, o:PTR TO object, dispatcher
  197.  
  198.     IF obj
  199.         o := obj-SIZEOF object    /* instance data is to negative offset */
  200.         h := o.class
  201.         dispatcher := h.entry    /* get dispatcher from hook in iclass */
  202.         MOVEA.L h,A0
  203.         MOVEA.L msg,A1
  204.         MOVEA.L obj,A2        /* probably should use CallHookPkt, but the */
  205.         MOVEA.L dispatcher,A3    /*   original code (doMethod()) doesn't. */
  206.         JSR (A3)        /* call classDispatcher() */
  207.         MOVE.L D0,o
  208.         RETURN o
  209.     ENDIF
  210. ENDPROC NIL
  211.  
  212. /* End of DockNet */
  213.  
  214. PROC savednprefs()
  215. DEF filesave,filesaveenv,st1c,st2c,st3c,st4c,st5c,st6c,st7c,st8c,st9c,pop1c,pop2c,pop3c,pop4c,pop5c,pop6c,pop7c,pop8c,pop9c
  216.  
  217. get(str1, MUIA_String_Contents, {st1c} )
  218. get(str2, MUIA_String_Contents, {st2c} )
  219. get(str3, MUIA_String_Contents, {st3c} )
  220. get(str4, MUIA_String_Contents, {st4c} )
  221. get(str5, MUIA_String_Contents, {st5c} )
  222. get(str6, MUIA_String_Contents, {st6c} )
  223. get(str7, MUIA_String_Contents, {st7c} )
  224. get(str8, MUIA_String_Contents, {st8c} )
  225. get(str9, MUIA_String_Contents, {st9c} )
  226. get(pop1, MUIA_String_Contents, {pop1c} )
  227. get(pop2, MUIA_String_Contents, {pop2c} )
  228. get(pop3, MUIA_String_Contents, {pop3c} )
  229. get(pop4, MUIA_String_Contents, {pop4c} )
  230. get(pop5, MUIA_String_Contents, {pop5c} )
  231. get(pop6, MUIA_String_Contents, {pop6c} )
  232. get(pop7, MUIA_String_Contents, {pop7c} )
  233. get(pop8, MUIA_String_Contents, {pop8c} )
  234. get(pop9, MUIA_String_Contents, {pop9c} )
  235. filesave:=Open('Envarc:DockNet/Docknet.prefs', NEWFILE)
  236. SetStdOut(filesave)
  237. WriteF('\s\n',st1c)
  238. WriteF('\s\n',pop1c)
  239. WriteF('\s\n',st2c)
  240. WriteF('\s\n',pop2c)
  241. WriteF('\s\n',st3c)
  242. WriteF('\s\n',pop3c)
  243. WriteF('\s\n',st4c)
  244. WriteF('\s\n',pop4c)
  245. WriteF('\s\n',st5c)
  246. WriteF('\s\n',pop5c)
  247. WriteF('\s\n',st6c)
  248. WriteF('\s\n',pop6c)
  249. WriteF('\s\n',st7c)
  250. WriteF('\s\n',pop7c)
  251. WriteF('\s\n',st8c)
  252. WriteF('\s\n',pop8c)
  253. WriteF('\s\n',st9c)
  254. WriteF('\s\n',pop9c)
  255. Close(filesave)
  256. filesaveenv:=Open('Env:DockNet/Docknet.prefs', NEWFILE)
  257. SetStdOut(filesaveenv)
  258. WriteF('\s\n',st1c)
  259. WriteF('\s\n',pop1c)
  260. WriteF('\s\n',st2c)
  261. WriteF('\s\n',pop2c)
  262. WriteF('\s\n',st3c)
  263. WriteF('\s\n',pop3c)
  264. WriteF('\s\n',st4c)
  265. WriteF('\s\n',pop4c)
  266. WriteF('\s\n',st5c)
  267. WriteF('\s\n',pop5c)
  268. WriteF('\s\n',st6c)
  269. WriteF('\s\n',pop6c)
  270. WriteF('\s\n',st7c)
  271. WriteF('\s\n',pop7c)
  272. WriteF('\s\n',st8c)
  273. WriteF('\s\n',pop8c)
  274. WriteF('\s\n',st9c)
  275. WriteF('\s\n',pop9c)
  276. Close(filesaveenv)
  277. SetStdOut(stdin)
  278. Mui_RequestA(app, wi_label_0, 0, NIL, 'OK', 'Prefs Saved ',NIL)
  279. ENDPROC
  280.  
  281. PROC usednprefs()
  282. DEF filesaveenv,st1c,st2c,st3c,st4c,st5c,st6c,st7c,st8c,st9c,pop1c,pop2c,pop3c,pop4c,pop5c,pop6c,pop7c,pop8c,pop9c
  283. filesaveenv:=Open('Env:DockNet/Docknet.prefs', NEWFILE)
  284. SetStdOut(filesaveenv)
  285. WriteF('\s\n',st1c)
  286. WriteF('\s\n',pop1c)
  287. WriteF('\s\n',st2c)
  288. WriteF('\s\n',pop2c)
  289. WriteF('\s\n',st3c)
  290. WriteF('\s\n',pop3c)
  291. WriteF('\s\n',st4c)
  292. WriteF('\s\n',pop4c)
  293. WriteF('\s\n',st5c)
  294. WriteF('\s\n',pop5c)
  295. WriteF('\s\n',st6c)
  296. WriteF('\s\n',pop6c)
  297. WriteF('\s\n',st7c)
  298. WriteF('\s\n',pop7c)
  299. WriteF('\s\n',st8c)
  300. WriteF('\s\n',pop8c)
  301. WriteF('\s\n',st9c)
  302. WriteF('\s\n',pop9c)
  303. Close(filesaveenv)
  304. SetStdOut(stdin)
  305. Mui_RequestA(app, wi_label_0, 0, NIL, 'OK', 'Prefs Saved on Env: ',NIL)
  306. ENDPROC